package SecondeStage.Collection.Set;

import java.util.HashSet;

public class HashSet_ {
    public static void main(String[] args) {
        HashSet set =new HashSet();
        // 在执行add方法后，会返回一个boolean值，添加成功返回true，否则返回false
        System.out.println(set.add("john"));
        System.out.println(set.add("lucy"));
        System.out.println(set.add("john"));
        System.out.println(set.add("jack"));
        System.out.println(set.add("Rose"));
        // 可以通过remove指定删除某个元素
        set.remove("john");
        System.out.println("set="+set);

        System.out.println("===========");
        set =new HashSet();
        // 这是两个Dog对象，只是名字不一样而已
        set.add(new Dog("tom"));
        set.add(new Dog("tom"));
        System.out.println("set="+set);

        System.out.println("===========");
        // 看源码分析
        set.add(new String("hsp"));
        set.add(new String("hsp"));
    }
}

class Dog{
    private String name;

    public Dog(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                '}';
    }
}